package cn.duli.xianer.service;

import cn.duli.xianer.pojo.Shopcar;

import java.util.List;

public interface ShopcarService {

    // 添加购物车
    int save(Shopcar shopcar);

    // 根据购物车id查询该条购物车
    Shopcar findById(Integer sId);

    // 根据商品id查询该条购物车
    Shopcar findByGoodId(Integer gId);

    // 根据用户id获取该用户的购物车商品列表
    List<Shopcar> findByUserId(Integer uId);

    // 根据购物车id单个选中此条购物车（修改商品为选中状态）
    void updateChecked(Integer sId);

    // 根据购物车id取消单个选中此条购物车（修改商品为未选中状态）
    void updateNotCheck(Integer sId);

    // 根据购物车id删除此条购物车
    void deleteById(Integer sId);

    // 根据用户id获取用户购物车商品数量
    int findCountByUserId(Integer uId);

    // 获取用户选中的商品数量
    int findCheckCountByUserId(Integer uId);

    // 根据用户id获取用户选中的商品列表
    List<Shopcar> findGoodsByUserId(Integer uId);

    // 根据用户id和商品id删除此条购物车
    void deleteByUidAndGid(Integer uId, Integer gId);

    // 根据用户id和商品id查询此条购物车
    Shopcar findByGidAndUid(Integer uId, Integer gId);

    // 根据用户id和商品id将此条购物车选中
    void updateCheckedByUidAndGid(Integer uId, Integer gId);

}
